A. Technical Field
The present invention relates to semiconductor devices, and more particularly, to systems, devices and methods of utilizing inherent differences among physical elements in an electrical component to generate unique and non-duplicable numbers that are repeatable and statistically random. These numbers may be applied as identifications, random number seeds or encryption keys in many security applications including trusted transactions in a financial terminal.
B. Background of the Invention
In many security applications, an electronic component is preferred to be associated with a unique number that is physically uncloneable. This unique number may be used as an identification to track this electronic component, a cryptographic key to encrypt and decrypt sensitive information, or a random number seed to generate the cryptographic key. These secure features require the unique number to be not only statistically random and non-predictable from one component to the next, but also stable and preferably immune to noise, temperature drift and other disturbances. Moreover, the unique number is normally permanent, i.e., repeatable over time and invariant across power cycles. When used for security purposes, a physical structure embedded with the unique number is preferred to be deeply buried within the component, and may not be discerned by visual inspection under a microscope or by electromagnetic emission measurement. Such a highly-confidential unique number is critical to provide an enhanced level of security in the security applications, and particularly, for a secure microcontroller embedded in a financial terminal.
The unique number is normally provided by fuses, one-time programmable (OTP) memory arrays or static random-access memory (SRAM) in most of the existing security applications. Simple metallic or polysilicon resistive fuses are coupled to a breakdown circuit that may deliver an excessive current, such that the unique number is burnt into the fuses according to user specification. The OTP memory arrays incorporate fuses and anti-fuses based on capacitors or transistors within a conventional complementary metal-oxide-semiconductor (CMOS) technology. Unique numbers may be programmed to these OTP fuses and anti-fuses prior to the first time use. The SRAM is a conventional semiconductor memory based on bi-stable latching circuit, and hereby, is used to store the unique number. The prior art solutions are normally expensive, and in some cases, have to rely on non-standard manufacturing processes to enable special structures, e.g., a floating gate, for the purpose of storage and programmability.
One of those skilled in the art may conveniently recover the unique number from a security application that is based on any of the above solutions. The fuses and the OTP memory arrays may be visually inspected under a microscope, and the bits of “1” and “0” may be discerned. Regardless of its power status, the SRAM may be directly coupled out by a circuit in a tamper attempt, and as a result, the confidential information stored in the SRAM is easily intercepted. In addition to its high cost, the prior art solutions are vulnerable to tampering attacks that are increasingly sophisticated. Therefore, a less expensive and more secure solution is needed to generate unique, non-duplicable, statistically random and repeatable numbers that may be used as component identification, cryptographic keys, or seeds for random number generation in many security applications.